const express = require('express')
// 创建路由对象
const router = express.Router()

// 下载multiparty 插件 用来传送图片
var multiparty = require("multiparty")
// 下载uuid npm install uuid --save 用来生成唯一名字
const uuid = require('uuid');
// 下载images插件 用来做24行的（图片处理）
const images = require("images");
const db = require('../db');


// 上传博客图片
router.post('/zhutu', function (req, res, next) {
	var form = new multiparty.Form();
	form.parse(req, function (err, fields, files) {
		// //找到上传的图片上传之前的名字
		var orgFilename = files.file[0].originalFilename;
		// //切割orgFilename 找到图片的扩展名 以证明图片是什么格式的
		// //切割后是一个数组，找到数组最后一个
		var formate = orgFilename.split(".");
		// //拼接新的图片名称
		var fileName = uuid.v1() + "." + formate[formate.length - 1];
		//  将图片存储到服务器本地
		images(files.file[0].path) //Load image from file 
			.size(1920, 1276) // 这里一定要先把这个public/images文件夹给创建好 不然要报错哦
			.save("public/" + fileName, {
				quality: 1000
			});
		//返回前台存储地址
		var src = "/" + fileName;
		res.json({
			status: true,
			msg: src
		})
	});
});

// 上传相册图片
router.post('/zhutu2', function (req, res, next) {
	var form = new multiparty.Form();
	form.parse(req, function (err, fields, files) {
		// //找到上传的图片上传之前的名字
		var orgFilename = files.file[0].originalFilename;
		// //切割orgFilename 找到图片的扩展名 以证明图片是什么格式的
		// //切割后是一个数组，找到数组最后一个
		var formate = orgFilename.split(".");
		// //拼接新的图片名称
		var fileName = uuid.v1() + "." + formate[formate.length - 1];
		//  将图片存储到服务器本地
		images(files.file[0].path) //Load image from file // 这里一定要先把这个public/images文件夹给创建好 不然要报错哦
			.save("public/" + fileName, {
				quality: 50
			});
		console.log(files.file[0].path)
		//将地址保存在数据表并返回前台存储地址
		var src = "/" + fileName;
		const sql = 'insert into img_url set ?'
		db.query(sql, { url: src }, (err, results) => {
			// SQL语句执行错误
			if (err) return res.cc(err)
			//SQL语句执行成功，但影响行数不为1
			if (results.affectedRows !== 1) {
				return res.cc('图片上传失败，请稍后再试')
			}
			// 文章添加成功
			res.cc('添加成功', 0)
		})
		res.json({
			status: true,
			msg: src
		})
	});
});

// 获取图片
router.get('/geturl', function (req, res, next) {
	const SQL = 'select * from img_url'
	db.query(SQL, (err, result) => {
		// 执行SQL语句失败
		if (err) return res.cc(err)
		// results个数为0
		if (result.length === 0) {
			// 图片地址数为零0时返回一个空数组
			return res.send([])
		}
		res.send({
			msg: '查询成功',
			status: 0,
			data: result
		})
	})
})

// 删除图片
router.post('/deletePic', function (req, res, next) {
	const info = req.body
	const sql = 'delete from img_url where id=?'
	db.query(sql, info.id, (err, result) => {
		// 执行SQL语句错误
		if (err) return res.cc(err)
		// SQL 语句执行成功，但是影响行数不等于 1
		if (result.affectedRows !== 1) return res.cc('删除失败')
		res.cc('删除成功', 0)
	})
})

module.exports = router
